import Mock from 'mockjs2'
import {builder, getQueryParameters} from '../util'

const totalCount = 5701

const serverList = (options) => {
    const parameters = getQueryParameters(options)

    const result = []
    const page = parseInt(parameters.page)
    const pageSize = parseInt(parameters.limit)
    const totalPage = Math.ceil(totalCount / pageSize)
    const key = (page - 1) * pageSize
    const next = (page >= totalPage ? (totalCount % pageSize) : pageSize) + 1

    for (let i = 1; i < next; i++) {
        const tmpKey = key + i
        result.push({
            key: tmpKey,
            id: tmpKey,
            no: 'No ' + tmpKey,
            description: '这是一段描述',
            callNo: Mock.mock('@integer(1, 999)'),
            status: Mock.mock('@integer(0, 3)'),
            updatedAt: Mock.mock('@datetime'),
            editable: false
        })
    }

    return builder({
        pageSize: pageSize,
        page: page,
        totalCount: totalCount,
        totalPage: totalPage,
        data: result
    })
}

const projects = () => {
    return builder({
        'data': [{
            id: 1,
            cover: 'https://gw.alipayobjects.com/zos/rmsportal/WdGqmHpayyMjiEhcKoVE.png',
            title: 'Alipay',
            description: '那是一种内在的东西， 他们到达不了，也无法触及的',
            status: 1,
            updatedAt: '2018-07-26 00:00:00'
        },
            {
                id: 2,
                cover: 'https://gw.alipayobjects.com/zos/rmsportal/zOsKZmFRdUtvpqCImOVY.png',
                title: 'Angular',
                description: '希望是一个好东西，也许是最好的，好东西是不会消亡的',
                status: 1,
                updatedAt: '2018-07-26 00:00:00'
            },
            {
                id: 3,
                cover: 'https://gw.alipayobjects.com/zos/rmsportal/dURIMkkrRFpPgTuzkwnB.png',
                title: 'Ant Design',
                description: '城镇中有那么多的酒馆，她却偏偏走进了我的酒馆',
                status: 1,
                updatedAt: '2018-07-26 00:00:00'
            },
            {
                id: 4,
                cover: 'https://gw.alipayobjects.com/zos/rmsportal/sfjbOqnsXXJgNCjCzDBL.png',
                title: 'Ant Design Pro',
                description: '那时候我只会想自己想要什么，从不想自己拥有什么',
                status: 1,
                updatedAt: '2018-07-26 00:00:00'
            },
            {
                id: 5,
                cover: 'https://gw.alipayobjects.com/zos/rmsportal/siCrBXXhmvTQGWPNLBow.png',
                title: 'Bootstrap',
                description: '凛冬将至',
                status: 1,
                updatedAt: '2018-07-26 00:00:00'
            },
            {
                id: 6,
                cover: 'https://gw.alipayobjects.com/zos/rmsportal/ComBAopevLwENQdKWiIn.png',
                title: 'Vue',
                description: '生命就像一盒巧克力，结果往往出人意料',
                status: 1,
                updatedAt: '2018-07-26 00:00:00'
            }
        ],
        'pageSize': 10,
        'page': 0,
        'totalPage': 6,
        'totalCount': 57
    })
}

const activity = () => {
    return builder([{
        id: 1,
        user: {
            nickname: '@name',
            avatar: 'https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png'
        },
        project: {
            name: '白鹭酱油开发组',
            action: '更新',
            event: '番组计划'
        },
        time: '2018-08-23 14:47:00'
    },
        {
            id: 1,
            user: {
                nickname: '蓝莓酱',
                avatar: 'https://gw.alipayobjects.com/zos/rmsportal/jZUIxmJycoymBprLOUbT.png'
            },
            project: {
                name: '白鹭酱油开发组',
                action: '更新',
                event: '番组计划'
            },
            time: '2018-08-23 09:35:37'
        },
        {
            id: 1,
            user: {
                nickname: '@name',
                avatar: '@image(64x64)'
            },
            project: {
                name: '白鹭酱油开发组',
                action: '创建',
                event: '番组计划'
            },
            time: '2017-05-27 00:00:00'
        },
        {
            id: 1,
            user: {
                nickname: '曲丽丽',
                avatar: '@image(64x64)'
            },
            project: {
                name: '高逼格设计天团',
                action: '更新',
                event: '六月迭代'
            },
            time: '2018-08-23 14:47:00'
        },
        {
            id: 1,
            user: {
                nickname: '@name',
                avatar: '@image(64x64)'
            },
            project: {
                name: '高逼格设计天团',
                action: 'created',
                event: '六月迭代'
            },
            time: '2018-08-23 14:47:00'
        },
        {
            id: 1,
            user: {
                nickname: '曲丽丽',
                avatar: 'https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png'
            },
            project: {
                name: '高逼格设计天团',
                action: 'created',
                event: '六月迭代'
            },
            time: '2018-08-23 14:47:00'
        }
    ])
}

const teams = () => {
    return builder([{
        id: 1,
        name: '科学搬砖组',
        avatar: 'https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png'
    },
        {
            id: 2,
            name: '程序员日常',
            avatar: 'https://gw.alipayobjects.com/zos/rmsportal/cnrhVkzwxjPwAaCfPbdc.png'
        },
        {
            id: 1,
            name: '设计天团',
            avatar: 'https://gw.alipayobjects.com/zos/rmsportal/gaOngJwsRYRaVAuXXcmB.png'
        },
        {
            id: 1,
            name: '中二少女团',
            avatar: 'https://gw.alipayobjects.com/zos/rmsportal/ubnKSIfAJTxIgXOKlciN.png'
        },
        {
            id: 1,
            name: '骗你学计算机',
            avatar: 'https://gw.alipayobjects.com/zos/rmsportal/WhxKECPNujWoWEFNdnJE.png'
        }
    ])
}

const radar = () => {
    return builder([{
        item: '引用',
        '个人': 70,
        '团队': 30,
        '部门': 40
    },
        {
            item: '口碑',
            '个人': 60,
            '团队': 70,
            '部门': 40
        },
        {
            item: '产量',
            '个人': 50,
            '团队': 60,
            '部门': 40
        },
        {
            item: '贡献',
            '个人': 40,
            '团队': 50,
            '部门': 40
        },
        {
            item: '热度',
            '个人': 60,
            '团队': 70,
            '部门': 40
        },
        {
            item: '引用',
            '个人': 70,
            '团队': 50,
            '部门': 40
        }
    ])
}

Mock.mock(/\/service/, 'get', serverList)
Mock.mock(/\/list\/search\/projects/, 'get', projects)
Mock.mock(/\/workplace\/activity/, 'get', activity)
Mock.mock(/\/workplace\/teams/, 'get', teams)
Mock.mock(/\/workplace\/radar/, 'get', radar)
